# read_csv() 用于读取文本文件 to_csv() 函数用于将 DataFrame 转换为 CSV 数据
# read_json() 用于读取 json 文件
# read_sql_query() 读取 sql 语句的，

# CSV文件
# CSV 文件能够以纯文本形式存储表格数据，比如电子表格、数据库文件，并具有数据交换的通用格式。
# 将 CSV 中的数据转换为 DataFrame 对象是非常便捷的。
# 和一般文件读写不一样，它不需要你做打开文件、读取文件、关闭文件等操作。
# 相反，您只需要一行代码就可以完成上述所有步骤，并将数据存储在 DataFrame 中。
import pandas as pd
import numpy as np

# 仅仅一行代码就完成了数据读取，但是注意文件路径不要写错
df = pd.read_csv('test.csv')
print(df)
# 在 CSV 文件中指定了一个列，然后使用index_col可以实现自定义索引。
df = pd.read_csv("test.csv", index_col=['ID'])
print(df)
df = pd.read_csv("C:/Users/Administrator/Desktop/person.csv", dtype={'Salary': np.float64})
print(df.dtypes)
# 使用 names 参数可以指定头文件的名称
df = pd.read_csv("C:/Users/Administrator/Desktop/person.csv", names=['a', 'b', 'c', 'd', 'e'])
print(df)
# 原来的标头名（列标签名）并没有被删除，此时您可以使用header参数来删除它。通过传递标头所在行号实现删除
df = pd.read_csv("C:/Users/Administrator/Desktop/person.csv", names=['a', 'b', 'c', 'd', 'e'], header=0)
# skiprows参数表示跳过指定的行数。 注意：包含标头所在行。
df = pd.read_csv("C:/Users/Administrator/Desktop/person.csv", skiprows=2)
print(df)
#  to_csv() 函数用于将 DataFrame 转换为 CSV 数据
data = {'Name': ['Smith', 'Parker'], 'ID': [101, 102], 'Language': ['Python', 'JavaScript']}
info = pd.DataFrame(data)
print('DataFrame Values:\n', info)
# 转换为csv数据
csv_data = info.to_csv()
print('\nCSV String Values:\n', csv_data)

data = pd.read_json('test.json')
print(data)

# 数据库读取
# pip install pysqlite3
# import sqlite3

# 建立数据连接
# con = sqlite3.connect("database.db")
# con参数指定操作数据库的引擎，可以指定，也可默认
# df = pd.read_sql_query("SELECT * FROM information", con)
